I use windows, but if possible, is there any method to do so in a
crossplatfrom way?
thanks
I can't check, but shutil.copy2() may do what you want.
Peter
You may check to see several possibilities
http://timgolden.me.uk/python/win32_how_do_i/copy-a-file.html
Probably the shutil module might be appropriate for simple usecases.
hth,
vbr
If the names contain spaces then you need to quote them:
os.system('xcopy /s "%s" "%s"' % (dirname1, dirname2))
(It's easier to always quote them.)
If the destination doesn't exist then you need to add the "/i" flag:
os.system('xcopy /s /i "%s" "%s"' % (dirname1, dirname2))
> Is there anyway I can do this way:
>
> localpath= c:\
> networkpath=g:\
>
> os.system("copy localpath networkpath)
>
> I tried many variations, but still not working. Any help will apreciated :/
>
source = "C:/Production"
dest = "D:/Production"
os.system('xcopy /E /I /Q "%s" "%s"' % (source, dest))
>> About this one. I tried the os.system copy. But it seems I cant find the
>> right syntax.
>>
>> *os.system ("xcopy /s %s %s" % (dirname1, dirname2))*
>>
>> This one seems to not working.
>>
> In what way doesn't it work?
>
> If the names contain spaces then you need to quote them:
>
> os.system('xcopy /s "%s" "%s"' % (dirname1, dirname2))
No, you need to use subprocess.call() instead of os.system().
If you absolutely must use os.system() for some reason, at least quote the
arguments correctly. If you want to know how to do this, look at the
subprocess.py source code (hint: it's not as simple as the above suggests).